open Castling;;

module CharPG = ParserGenerator (CharToken);;
open CharPG;;

let rec test = lazy !! (
	selab >> selxy (* >> element '1' *)
) and selab = lazy !! (
	one_of ~name:"ab" [
		"a", element 'A';
		"b", element 'B';
		"c", epsilon
	]
) and selxy = lazy !! (
	one_of ~name:"yz" [
		"y", skip (element 'Y');
		"z", skip (element 'Z');
	]
);;

debug := true;;
error_handling := false;;
generate test;;
